From 2190c8160a802560029d5d260d5f6979302b53d0 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Thu, 15 Nov 2018 16:43:36 +0100 Subject: [PATCH] x86/shadow: emulate_gva_to_mfn() should respect p2m_ioreq_server Writes to such pages need to be handed to the emulator. Signed-off-by: Jan Beulich Reviewed-by: Paul Durrant Acked-by: Andrew Cooper Acked-by: Tim Deegan --- xen/arch/x86/mm/shadow/hvm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/xen/arch/x86/mm/shadow/hvm.c b/xen/arch/x86/mm/shadow/hvm.c index 4cc75916b8..8994cb9f87 100644 --- a/xen/arch/x86/mm/shadow/hvm.c +++ b/xen/arch/x86/mm/shadow/hvm.c @@ -338,6 +338,11 @@ static mfn_t emulate_gva_to_mfn(struct vcpu *v, unsigned long vaddr, { return _mfn(BAD_GFN_TO_MFN); } + if ( p2mt == p2m_ioreq_server ) + { + put_page(page); + return _mfn(BAD_GFN_TO_MFN); + } if ( p2m_is_discard_write(p2mt) ) { put_page(page); -- 2.30.2